/*
 * Auto generated C++ implementation for Mass Effect 2.
 *	by _silencer.
 */

#include "stdafx.h"
#include "unreal_game.h"

namespace game
{
	IMPLEMENT_PACKAGE_CLASS( GFxEngine, Object, GFxUI )
	IMPLEMENT_PACKAGE_CLASS( GFxFSCmdHandler, Object, GFxUI )
	IMPLEMENT_PACKAGE_CLASS( GFxInteraction, Interaction, GFxUI )
	IMPLEMENT_PACKAGE_CLASS( GFxGameViewportClient, GameViewportClient, GFxUI )
	IMPLEMENT_PACKAGE_CLASS( GFxMovieInfo, Object, GFxUI )
	IMPLEMENT_PACKAGE_CLASS( GFxMovie, Object, GFxUI )
	IMPLEMENT_PACKAGE_CLASS( GFxAction_CloseMovie, SequenceAction, GFxUI )
	IMPLEMENT_PACKAGE_CLASS( GFxAction_GetVariable, SequenceAction, GFxUI )
	IMPLEMENT_PACKAGE_CLASS( GFxAction_Invoke, SequenceAction, GFxUI )
	IMPLEMENT_PACKAGE_CLASS( GFxAction_OpenMovie, SequenceAction, GFxUI )
	IMPLEMENT_PACKAGE_CLASS( GFxAction_SetCaptureKeys, SequenceAction, GFxUI )
	IMPLEMENT_PACKAGE_CLASS( GFxAction_SetFocus, SequenceAction, GFxUI )
	IMPLEMENT_PACKAGE_CLASS( GFxAction_SetVariable, SequenceAction, GFxUI )
	IMPLEMENT_PACKAGE_CLASS( GFxEvent_FsCommand, SequenceEvent, GFxUI )
	IMPLEMENT_PACKAGE_CLASS( GFxFSCmdHandler_Kismet, GFxFSCmdHandler, GFxUI )


	Bool GFxFSCmdHandler::FSCommand( GFxMovie* Movie, String Cmd, String arg )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function GFxUI.GFxFSCmdHandler.FSCommand" );

		struct FSCommandParams
		{
			GFxMovie* Movie; //offset = 0, size = 4
			String Cmd; //offset = 4, size = 12
			String arg; //offset = 16, size = 12
			Bool ReturnValue: 1; //offset = 28, size = 4
		} params;

		params.Movie = Movie;
		params.Cmd = Cmd;
		params.arg = arg;

		this->call_function( function, &params, 0 );

		return params.ReturnValue;
	}

	void GFxInteraction::NotifyGameSessionEnded()
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function GFxUI.GFxInteraction.NotifyGameSessionEnded" );

		this->call_function( function, 0, 0 );
	}

	GFxMovie* GFxInteraction::GetFocusMovie()
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function GFxUI.GFxInteraction.GetFocusMovie" );

		struct GetFocusMovieParams
		{
			GFxMovie* ReturnValue; //offset = 0, size = 4
		} params;


		this->call_function( function, &params, 0 );

		return params.ReturnValue;
	}

	Bool GFxInteraction::SetFocusMovie( String MovieName, Bool captureInput )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function GFxUI.GFxInteraction.SetFocusMovie" );

		struct SetFocusMovieParams
		{
			String MovieName; //offset = 0, size = 12
			Bool captureInput: 1; //offset = 12, size = 4
			Bool ReturnValue: 1; //offset = 16, size = 4
		} params;

		params.MovieName = MovieName;
		params.captureInput = captureInput;

		this->call_function( function, &params, 0 );

		return params.ReturnValue;
	}

	Bool GFxGameViewportClient::Init( String OutError, Int oldlen )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function GFxUI.GFxGameViewportClient.Init" );

		struct InitParams
		{
			String OutError; //offset = 0, size = 12
			Bool ReturnValue: 1; //offset = 12, size = 4
			Int oldlen; //offset = 16, size = 4
		} params;

		params.OutError = OutError;
		params.oldlen = oldlen;

		this->call_function( function, &params, 0 );

		return params.ReturnValue;
	}

	void GFxMovie::ActionScript( String Path )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function GFxUI.GFxMovie.ActionScript" );

		struct ActionScriptParams
		{
			String Path; //offset = 0, size = 12
		} params;

		params.Path = Path;

		this->call_function( function, &params, 0 );
	}

	void GFxMovie::SetExternalInterface( Object* H )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function GFxUI.GFxMovie.SetExternalInterface" );

		struct SetExternalInterfaceParams
		{
			Object* H; //offset = 0, size = 4
		} params;

		params.H = H;

		this->call_function( function, &params, 0 );
	}

	void GFxMovie::SetFsCmdHandler( GFxFSCmdHandler* H )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function GFxUI.GFxMovie.SetFsCmdHandler" );

		struct SetFsCmdHandlerParams
		{
			GFxFSCmdHandler* H; //offset = 0, size = 4
		} params;

		params.H = H;

		this->call_function( function, &params, 0 );
	}

	Bool GFxMovie::SetVariableStringArray( String Path, Int Index, Array<String> arg )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function GFxUI.GFxMovie.SetVariableStringArray" );

		struct SetVariableStringArrayParams
		{
			String Path; //offset = 0, size = 12
			Int Index; //offset = 12, size = 4
			Array<String> arg; //offset = 16, size = 12
			Bool ReturnValue: 1; //offset = 28, size = 4
		} params;

		params.Path = Path;
		params.Index = Index;
		params.arg = arg;

		this->call_function( function, &params, 0 );

		return params.ReturnValue;
	}

	Bool GFxMovie::SetVariableFloatArray( String Path, Int Index, Array<Float> arg )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function GFxUI.GFxMovie.SetVariableFloatArray" );

		struct SetVariableFloatArrayParams
		{
			String Path; //offset = 0, size = 12
			Int Index; //offset = 12, size = 4
			Array<Float> arg; //offset = 16, size = 12
			Bool ReturnValue: 1; //offset = 28, size = 4
		} params;

		params.Path = Path;
		params.Index = Index;
		params.arg = arg;

		this->call_function( function, &params, 0 );

		return params.ReturnValue;
	}

	Bool GFxMovie::SetVariableIntArray( String Path, Int Index, Array<Int> arg )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function GFxUI.GFxMovie.SetVariableIntArray" );

		struct SetVariableIntArrayParams
		{
			String Path; //offset = 0, size = 12
			Int Index; //offset = 12, size = 4
			Array<Int> arg; //offset = 16, size = 12
			Bool ReturnValue: 1; //offset = 28, size = 4
		} params;

		params.Path = Path;
		params.Index = Index;
		params.arg = arg;

		this->call_function( function, &params, 0 );

		return params.ReturnValue;
	}

	Bool GFxMovie::SetVariableArray( String Path, Int Index, Array<ASValue> arg )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function GFxUI.GFxMovie.SetVariableArray" );

		struct SetVariableArrayParams
		{
			String Path; //offset = 0, size = 12
			Int Index; //offset = 12, size = 4
			Array<ASValue> arg; //offset = 16, size = 12
			Bool ReturnValue: 1; //offset = 28, size = 4
		} params;

		params.Path = Path;
		params.Index = Index;
		params.arg = arg;

		this->call_function( function, &params, 0 );

		return params.ReturnValue;
	}

	Bool GFxMovie::GetVariableStringArray( String Path, Int Index, Array<String> arg )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function GFxUI.GFxMovie.GetVariableStringArray" );

		struct GetVariableStringArrayParams
		{
			String Path; //offset = 0, size = 12
			Int Index; //offset = 12, size = 4
			Array<String> arg; //offset = 16, size = 12
			Bool ReturnValue: 1; //offset = 28, size = 4
		} params;

		params.Path = Path;
		params.Index = Index;
		params.arg = arg;

		this->call_function( function, &params, 0 );

		return params.ReturnValue;
	}

	Bool GFxMovie::GetVariableFloatArray( String Path, Int Index, Array<Float> arg )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function GFxUI.GFxMovie.GetVariableFloatArray" );

		struct GetVariableFloatArrayParams
		{
			String Path; //offset = 0, size = 12
			Int Index; //offset = 12, size = 4
			Array<Float> arg; //offset = 16, size = 12
			Bool ReturnValue: 1; //offset = 28, size = 4
		} params;

		params.Path = Path;
		params.Index = Index;
		params.arg = arg;

		this->call_function( function, &params, 0 );

		return params.ReturnValue;
	}

	Bool GFxMovie::GetVariableIntArray( String Path, Int Index, Array<Int> arg )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function GFxUI.GFxMovie.GetVariableIntArray" );

		struct GetVariableIntArrayParams
		{
			String Path; //offset = 0, size = 12
			Int Index; //offset = 12, size = 4
			Array<Int> arg; //offset = 16, size = 12
			Bool ReturnValue: 1; //offset = 28, size = 4
		} params;

		params.Path = Path;
		params.Index = Index;
		params.arg = arg;

		this->call_function( function, &params, 0 );

		return params.ReturnValue;
	}

	Bool GFxMovie::GetVariableArray( String Path, Int Index, Array<ASValue> arg )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function GFxUI.GFxMovie.GetVariableArray" );

		struct GetVariableArrayParams
		{
			String Path; //offset = 0, size = 12
			Int Index; //offset = 12, size = 4
			Array<ASValue> arg; //offset = 16, size = 12
			Bool ReturnValue: 1; //offset = 28, size = 4
		} params;

		params.Path = Path;
		params.Index = Index;
		params.arg = arg;

		this->call_function( function, &params, 0 );

		return params.ReturnValue;
	}

	void GFxMovie::SetVariableString( String Path, String S )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function GFxUI.GFxMovie.SetVariableString" );

		struct SetVariableStringParams
		{
			String Path; //offset = 0, size = 12
			String S; //offset = 12, size = 12
		} params;

		params.Path = Path;
		params.S = S;

		this->call_function( function, &params, 0 );
	}

	void GFxMovie::SetVariableNumber( String Path, Float F )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function GFxUI.GFxMovie.SetVariableNumber" );

		struct SetVariableNumberParams
		{
			String Path; //offset = 0, size = 12
			Float F; //offset = 12, size = 4
		} params;

		params.Path = Path;
		params.F = F;

		this->call_function( function, &params, 0 );
	}

	void GFxMovie::SetVariableBool( String Path, Bool B )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function GFxUI.GFxMovie.SetVariableBool" );

		struct SetVariableBoolParams
		{
			String Path; //offset = 0, size = 12
			Bool B: 1; //offset = 12, size = 4
		} params;

		params.Path = Path;
		params.B = B;

		this->call_function( function, &params, 0 );
	}

	void GFxMovie::SetVariable( String Path, ASValue arg )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function GFxUI.GFxMovie.SetVariable" );

		struct SetVariableParams
		{
			String Path; //offset = 0, size = 12
			ASValue arg; //offset = 12, size = 24
		} params;

		params.Path = Path;
		params.arg = arg;

		this->call_function( function, &params, 0 );
	}

	String GFxMovie::GetVariableString( String Path )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function GFxUI.GFxMovie.GetVariableString" );

		struct GetVariableStringParams
		{
			String Path; //offset = 0, size = 12
			String ReturnValue; //offset = 12, size = 12
		} params;

		params.Path = Path;

		this->call_function( function, &params, 0 );

		return params.ReturnValue;
	}

	Float GFxMovie::GetVariableNumber( String Path )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function GFxUI.GFxMovie.GetVariableNumber" );

		struct GetVariableNumberParams
		{
			String Path; //offset = 0, size = 12
			Float ReturnValue; //offset = 12, size = 4
		} params;

		params.Path = Path;

		this->call_function( function, &params, 0 );

		return params.ReturnValue;
	}

	Bool GFxMovie::GetVariableBool( String Path )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function GFxUI.GFxMovie.GetVariableBool" );

		struct GetVariableBoolParams
		{
			String Path; //offset = 0, size = 12
			Bool ReturnValue: 1; //offset = 12, size = 4
		} params;

		params.Path = Path;

		this->call_function( function, &params, 0 );

		return params.ReturnValue;
	}

	ASValue GFxMovie::GetVariable( String Path )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function GFxUI.GFxMovie.GetVariable" );

		struct GetVariableParams
		{
			String Path; //offset = 0, size = 12
			ASValue ReturnValue; //offset = 12, size = 24
		} params;

		params.Path = Path;

		this->call_function( function, &params, 0 );

		return params.ReturnValue;
	}

	ASValue GFxMovie::Invoke( String method, Array<ASValue> args )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function GFxUI.GFxMovie.Invoke" );

		struct InvokeParams
		{
			String method; //offset = 0, size = 12
			Array<ASValue> args; //offset = 12, size = 12
			ASValue ReturnValue; //offset = 24, size = 24
		} params;

		params.method = method;
		params.args = args;

		this->call_function( function, &params, 0 );

		return params.ReturnValue;
	}

	void GFxMovie::SetTimingMode( Byte Mode )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function GFxUI.GFxMovie.SetTimingMode" );

		struct SetTimingModeParams
		{
			Byte Mode; //offset = 0, size = 1
		} params;

		params.Mode = Mode;

		this->call_function( function, &params, 0 );
	}

	void GFxMovie::Pause( Bool pauseplay )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function GFxUI.GFxMovie.Pause" );

		struct PauseParams
		{
			Bool pauseplay: 1; //offset = 0, size = 4
		} params;

		params.pauseplay = pauseplay;

		this->call_function( function, &params, 0 );
	}

	void GFxMovie::Advance( Float Time )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function GFxUI.GFxMovie.Advance" );

		struct AdvanceParams
		{
			Float Time; //offset = 0, size = 4
		} params;

		params.Time = Time;

		this->call_function( function, &params, 0 );
	}

	Bool GFxMovie::SetExternalTexture( String Resource, Texture* Texture )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function GFxUI.GFxMovie.SetExternalTexture" );

		struct SetExternalTextureParams
		{
			String Resource; //offset = 0, size = 12
			Texture* Texture; //offset = 12, size = 4
			Bool ReturnValue: 1; //offset = 16, size = 4
		} params;

		params.Resource = Resource;
		params.Texture = Texture;

		this->call_function( function, &params, 0 );

		return params.ReturnValue;
	}

	void GFxMovie::ClearCaptureKeys()
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function GFxUI.GFxMovie.ClearCaptureKeys" );

		this->call_function( function, 0, 0 );
	}

	void GFxMovie::AddCaptureKey( Name Key )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function GFxUI.GFxMovie.AddCaptureKey" );

		struct AddCaptureKeyParams
		{
			Name Key; //offset = 0, size = 8
		} params;

		params.Key = Key;

		this->call_function( function, &params, 0 );
	}

	void GFxMovie::SetFocus( Bool captureInput, Bool Focus )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function GFxUI.GFxMovie.SetFocus" );

		struct SetFocusParams
		{
			Bool captureInput: 1; //offset = 0, size = 4
			Bool Focus: 1; //offset = 4, size = 4
		} params;

		params.captureInput = captureInput;
		params.Focus = Focus;

		this->call_function( function, &params, 0 );
	}

	void GFxMovie::SetViewport( Int X, Int Y, Int Width, Int Height )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function GFxUI.GFxMovie.SetViewport" );

		struct SetViewportParams
		{
			Int X; //offset = 0, size = 4
			Int Y; //offset = 4, size = 4
			Int Width; //offset = 8, size = 4
			Int Height; //offset = 12, size = 4
		} params;

		params.X = X;
		params.Y = Y;
		params.Width = Width;
		params.Height = Height;

		this->call_function( function, &params, 0 );
	}

	GameViewportClient* GFxMovie::GetGameViewportClient()
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function GFxUI.GFxMovie.GetGameViewportClient" );

		struct GetGameViewportClientParams
		{
			GameViewportClient* ReturnValue; //offset = 0, size = 4
		} params;


		this->call_function( function, &params, 0 );

		return params.ReturnValue;
	}

	void GFxMovie::SetMovieInfo( GFxMovieInfo* Data )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function GFxUI.GFxMovie.SetMovieInfo" );

		struct SetMovieInfoParams
		{
			GFxMovieInfo* Data; //offset = 0, size = 4
		} params;

		params.Data = Data;

		this->call_function( function, &params, 0 );
	}

	void GFxMovie::OnClose()
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function GFxUI.GFxMovie.OnClose" );

		this->call_function( function, 0, 0 );
	}

	void GFxMovie::Close( Bool Unload )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function GFxUI.GFxMovie.Close" );

		struct CloseParams
		{
			Bool Unload: 1; //offset = 0, size = 4
		} params;

		params.Unload = Unload;

		this->call_function( function, &params, 0 );
	}

	Bool GFxMovie::Start( Bool StartPaused )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function GFxUI.GFxMovie.Start" );

		struct StartParams
		{
			Bool StartPaused: 1; //offset = 0, size = 4
			Bool ReturnValue: 1; //offset = 4, size = 4
		} params;

		params.StartPaused = StartPaused;

		this->call_function( function, &params, 0 );

		return params.ReturnValue;
	}

	Bool GFxAction_CloseMovie::IsValidLevelSequenceObject()
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function GFxUI.GFxAction_CloseMovie.IsValidLevelSequenceObject" );

		struct IsValidLevelSequenceObjectParams
		{
			Bool ReturnValue: 1; //offset = 0, size = 4
		} params;


		this->call_function( function, &params, 0 );

		return params.ReturnValue;
	}

	Bool GFxAction_GetVariable::IsValidLevelSequenceObject()
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function GFxUI.GFxAction_GetVariable.IsValidLevelSequenceObject" );

		struct IsValidLevelSequenceObjectParams
		{
			Bool ReturnValue: 1; //offset = 0, size = 4
		} params;


		this->call_function( function, &params, 0 );

		return params.ReturnValue;
	}

	Bool GFxAction_Invoke::IsValidLevelSequenceObject()
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function GFxUI.GFxAction_Invoke.IsValidLevelSequenceObject" );

		struct IsValidLevelSequenceObjectParams
		{
			Bool ReturnValue: 1; //offset = 0, size = 4
		} params;


		this->call_function( function, &params, 0 );

		return params.ReturnValue;
	}

	Bool GFxAction_OpenMovie::IsValidLevelSequenceObject()
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function GFxUI.GFxAction_OpenMovie.IsValidLevelSequenceObject" );

		struct IsValidLevelSequenceObjectParams
		{
			Bool ReturnValue: 1; //offset = 0, size = 4
		} params;


		this->call_function( function, &params, 0 );

		return params.ReturnValue;
	}

	Bool GFxAction_SetVariable::IsValidLevelSequenceObject()
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function GFxUI.GFxAction_SetVariable.IsValidLevelSequenceObject" );

		struct IsValidLevelSequenceObjectParams
		{
			Bool ReturnValue: 1; //offset = 0, size = 4
		} params;


		this->call_function( function, &params, 0 );

		return params.ReturnValue;
	}

	Bool GFxFSCmdHandler_Kismet::FSCommand( GFxMovie* Movie, String Cmd, String arg )
	{
		static ufunction* function = 0;

		if ( !function )
			function = find_global_object<ufunction>( "Function GFxUI.GFxFSCmdHandler_Kismet.FSCommand" );

		struct FSCommandParams
		{
			GFxMovie* Movie; //offset = 0, size = 4
			String Cmd; //offset = 4, size = 12
			String arg; //offset = 16, size = 12
			Bool ReturnValue: 1; //offset = 28, size = 4
		} params;

		params.Movie = Movie;
		params.Cmd = Cmd;
		params.arg = arg;

		this->call_function( function, &params, 0 );

		return params.ReturnValue;
	}
}
